[AWS Black Belt Online Seminar] EC2 Windows レポート
こんにちは、菊池です。
2017年5月24日(水)のAWS Black Belt Online Seminarを受講しましたので、レポートします。
今回は EC2 Windows ということで、AWSの基本サービスともいえるAmazon EC2から、Windowsに特化した内容でした。講師はアマゾンウェブサービスジャパン、ソリューションアーキテクトの渡邉源太さんでした。
レポート
アジェンダは以下の通りでした。
- Amazon EC2 - Windows概要
- Amazon Machine Image(AMI)
- インスタンスの設定
- モニタリング
- ネットワークとセキュリティ
- まとめ
Amazon EC2 - Windows 概要
- AWSにおけるWindowsのイノベーション
- 最初はWinsows Server 2003/2008 & SQL Server 2008のみ
- 最近では.NET on Lambdaも
- Amazon EC2
- 仮想コンピューティング環境
- 数分で起動/1時間ごとの従量課金
- 管理者権限(root/Administrator)で利用可能
- Amazon EC2 Systems Manager
- Amazon EC2、またはオンプレミスのシステムに対して自動構成・継続的な管理を提供
- Run Command
- State Manager
- Inventory
- Maintenance Window
- Patch Manager
- Automation
- Parameter Store
- Amazon EC2、またはオンプレミスのシステムに対して自動構成・継続的な管理を提供
- 既存のOS/アプリ/ミドルウェアが利用可能
- マイクロソフトライセンスモビリティ
- 既存のマイクロソフト製品のライセンスをAWS上に持ち込み可能
- Exchange Server
- SharePoint Server
- SQL Server Enterpriseなど
- ソフトウェアアシュアランス(SA)の特典として提供
- 仮想コアライセンスなどMicrosoftのライセンスモデルに応じてデフォルトテナンシーのEC2インスタンス上で利用することが可能
- 既存のマイクロソフト製品のライセンスをAWS上に持ち込み可能
- ライセンスモビリティの対象製品
- マイクロソフト製品条項(PT)に定義
- 毎月更新されるため定期的に要確認
- マイクロソフト製品及びオンラインサービスのボリュームライセンス
- ライセンスモビリティ対象製品
- Exchange Server
- SharePoint Server
- SQL Server Enterpriseなど
- ライセンスモビリティの対象でない製品
- Windows OS
- デスクトップアプリケーションなど
- EC2 Dedicated HostsによるBYOL
- ライセンスのコンプライアンスを維持
- きめ細かいリソースと配置のコントロール
- 物理リソースの可視化
- 物理コアとソケットのカウント
- キャパシティ利用率
- インスタンス配置
- 費用ディスカウントとリソースの予約をサポート
- ライセンスのコンプライアンスを維持
- マイクロソフトライセンスの選択肢
- AWSによるライセンス管理
- 従量課金
- マルチテナントまたは専有
- SA不要
- CAL無制限
- ライセンスの持ち込み(BYOL)
- ライセンス費用の削減
- 専有インスタンスまたはホスト
- お客様によるISVのライセンスコストとコンプライアンスの管理
- SA不要
- ライセンスモビリティの利用
- AWSによるWindows Serverライセンスの管理
- お客様によるISVのライセンスコストとコンプライアンスの管理
- SAの利用
- AWSによるライセンス管理
AMI
- インスタンスとAMI
- AMIはインスタンス起動に必要なOSイメージ(S3に保存)
- AWS以外にサードパーティもAMIを提供
- 自由にカスタマイズAMIを作成可能
- 他のアカウントと共有も可能
- カスタムAMIから何台でもEC2を起動可能
- 別リージョンへのコピーも可能
- Windows AMI
- Windows Server 2016(64ビット)
- Windows Server 2012 R2(64ビット)
- Windows Server 2012(64ビット)
- Windows Server 2008 R2(64ビット)
- Windows Server 2008(32/64ビット)
- Windows Server 2003 R2(32/64ビット)
- MS SQL Serverの各エディション(Enterprise/Standard/Express/Web)がインストールされたAMIも利用可能
- Windows Server 2016 AMI
- Windows Server 2016 Base (English/Japanese)
- Windows Server 2016 Base with Containers
- Windows Server 2016 Base Nano
- Windows Server 2016 with SQL Server (Express/Web/Standard)
- Windows Server 2016 AMI における変更点
- EC2Configサービスが廃止されEC2Launchに置き換え
- ドメインさんかとCloudWatch LogsインテグレーションはEC2 Systems Managerから実行
- Windows Server 2016 Nano ではRDP接続未サポートのため、PowerShellリモーティングにより管理を行う
- Windows Server 2016 インスタンスでのDockerコンテナの競合
- Windows Server 2016 インスタンスでDockerを実行するには、"Windows Server 2016 Base with Containers" AMIを使用する必要がある
- 別のWindows Server 2016 AMIからインスタンスを作成する場合、DockerをインストールしてからSysprepを実行するとインスタンスは正しく起動されない
- EC2のデフォルトVPC(172.31.0.0/16)とDocker用のCIDR(172.16.0.0/12)がコンフリクトするのを防ぐためdaemon.jsonで172.17.0.0/16を指定している
- Windows AMIの検索
- 条件を元に検索(リージョン/OS/アーキテクチャ(32/64ビット)/ルートデバイスタイプ)
- 日本語版AMIを使う場合は"Japanese"をつけて検索
- AWS CLIを使ったWindows AMIの検索
$ aws ec2 describe-images --owners amazon --filters "Name=platform,Values=windows"
- Windows AMIのバージョン
- Windows AMIは通常のWindows Serverと同じように構成
- いくつかのツールがインストールされる
- EC2Configサービス
- 準仮想化(PV)ドライバ
- AWS Tools for Windows PowerShell
- AWS CloudFormationヘルパースクリプト
- Microsoftの定例パッチ(毎月第二火曜日)の5営業日以内に更新されたAMIを提供
- Amazon SNSでWindows AMIの更新を通知可能
- Amazon SNSによる更新の通知
- 新しいAMIのリリース、AMIが非公開になった時に通知を受信可能
- リージョンをUS East(N.Virginia)に変更
- [Subscription]から[Create Subscription]をクリック
- [Topic ARN]で次のARNのいづれかを入力
arn:aws:sns:us-east-1:801119661308:ec2-windows-ami-update
arn:aws:sns:us-east-1:801119661308:ec2-windows-ami-private
- [Protocol]で[Email]を選択し[Endpoint]にメールアドレスを入力
- 新しいAMIのリリースでec2-windows-ami-update、AMIが非公開になるとec2-windows-ami-privateのトピックに通知される
- 新しいAMIのリリース、AMIが非公開になった時に通知を受信可能
インスタンスの設定
- EC2Configサービスを使用したWindowsインスタンスの設定
- AWSが追加したサービスで、初回起動時に次を実行
- 管理者アカウントにランダムに生成したパスワードを設定
- RDPのホスト証明書の生成とインストール
- OSパーテーションの拡張
- ユーザーデータの実行
- Windows Server 2016 AMIにはEC2Configサービスは含まれない
- nanoサーバサポートのため、EC2Launchに入れ替えた
- EC2Configサービスのプロパティ
- [Set Computer Name]:コンピュータ名の設定
- [User Data]:ユーザーデータの実行
- [Event Log]:起動時にイベントログをコンソールに表示
- [CloudWatch Logs]:イベントログをCloudWatch Logsにエクスポート
- [Wallpaper Information]:システム情報を壁紙に表示
- ユーザーデータの利用
- コマンドまたはPowerShellスクリプトを埋め込むことで、インスタンス起動時の処理を自動化
- ユーザーデータはEC2Configサービスが起動されるとすぐに実行される
- EC2ConfigによるSysprepの実行
- カスタムAMIを作成するためにSysprepにより複製用のマスターイメージを作成可能
- Administratorパスワードのオプション
- コマンドからの実行
- EC2Launchを使用したWindowsインスタンスの構成
- EC2LaunchはEC2Configサービスを置き換えるPowerShellスクリプト
- 壁紙にインスタンス情報表示
- コンピューター名の設定
- EC2コンソールにインスタンス情報/RDP証明書のフィンガープリントを通知
- 管理者パスワードをセット
- DNSサフィックスの追加
- OSパーテーションの拡張
- ユーザーデータの実行
- EC2LaunchはEC2Configサービスを置き換えるPowerShellスクリプト
- ステートマネージャー(SSM Config)を使用したWindowsインスタンスの設定
- Amazon EC2 Systems Manager(SSM)ステートマネージャーでは実行中のWindowsインスタンスの設定を管理可能
- ステートマネージャーへのIAMユーザアクセスを許可し、JSONファイルとしてSSMドキュメントを作成
- 作成したSSMドキュメントをインスタンスに関連付けることで、設定が適用
- Windwosインスタンスのドメイン参加
- サンプルを元にJSONファイルを作成し、.json拡張しで保存
- 準仮想化(PV)ドライバの種類
- PVドライバが3種類ある
- 現行はAWS PVドライバ
- 古いインスタンスではRedHatなどの場合がある
- PVドライバのアップグレード
- Windows Server 2008R2/2012/2012 R2/2016ではAWS PVドライバのアップグレードが可能
- RedHat PVドライバを使用している場合はCitrix PVドライバにアップグレード可能
- Citrix PVドライバをしようしている場合はCitrix Xenゲストエージェントサービスをアップグレード可能
- Windows OSのアップグレード
- インポート後のOSをアップグレードすることが可能
- スナップショットによるインストールメディアの提供
- Windows Server 2016へのアップグレードは現在未サポート
- アプグレード後にEC2Configサービス及び修正プログラム(KB2800213、KB2922223)をインストール
モニタリング
- Amazon CloudWatchによる各種リソースモニタリング
- 各サービスのメトリックス監視
- アラーム作成
- ログ監視(CloudWatchLogs)
- Amazon CloudWatchへのログ/イベント/パフォーマンスカウンタの送信
- EC2Rescueの使用
- EC2 Windowsインスタンスで問題の診断とトラブルシューティングに役立つツール
- アクティブ/オフラインのインスタンスからデータ収集可能
- イベントログ
- メモリダンプ
- ログファイル
- レジストリ
- システム情報
- ブート構成
- Windows Updateログ(2016以外)
ネットワークとセキュリティ
- キーペアとWindowsインスタンス
- 鍵認証はパスワード認証よりも安全
- AWSでは公開鍵のみ保持し起動時にインスタンスへコピー
- 秘密鍵はユーザで保持
- Windowsインスタンスではキーペアを使用して管理者パスワードを取得
- Windowsパスワードの取得
- 初回起動後、10分から15分程度で取得可能に
- インスタンスへのリモートデスクトップ接続
- 必要なもの
- キーペアの秘密鍵
- パブリックIP
- RDPログイン方法
- 接続先ホスト:パブリックIP
- ユーザ名:Administrator
- 接続方法:パスワード方式
- こちらも参考に
- 必要なもの
- Windowsの拡張ネットワーキング
- Intel 82559 Virtual Function(VF)インターフェース
- Elastic Network Adapter(ENA)
- ディレクトリ復元モード(DSRM)のサポート
まとめ
- Amaozn EC2によりWindowsやMicrosoftサーバ製品の実行が可能
- EC2 Systems Managerによるシステム設定の自動化に対応
- モニタリングや管理のためのさまざまなツール・サービスを提供
今後のオンラインセミナー
6月はすくなめ開催なのでしょうか。AWS Summitもあるためか、ちょっと間が開くみたいですね。
最後に
以上です。
AWSでWindowsを使うのであれば必見の内容でした。特に、Windows Server 2016からのEC2Launchや、Dockerを使う際の注意点などは、知らなければ確実にハマってしまうのではないかと思いました。また、EC2Configが廃止されたのはNanoサーバが理由ということで納得しました。
ライセンスの扱いなど、Windowsならではのポイントをしっかり考慮して使って行きましょう。